package com.cyt.work.antiepidemic.service;

import com.cyt.base.model.dto.ReturnResult;
import com.cyt.sys.model.po.SysUser;
import com.cyt.sys.service.BaseService;
import com.cyt.work.antiepidemic.model.po.AntiepidemicBuilding;
import com.cyt.work.antiepidemic.model.vo.AntiepidemicBuildingVo;
import com.cyt.work.antiepidemic.model.vo.AntiepidemicSelectVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * e门通-社区建筑信息Service层接口类
 *
 * @author rong yuan
 * @date 2020-2-12 1:38:40
 */
public interface AntiepidemicBuildingService extends BaseService<AntiepidemicBuilding> {

    /**
     * 分页查询
     *
     * @param antiepidemicBuildingVo 接受参数对象
     * @param pageNum                分页数
     * @param pageSize               每页显示条数
     * @return ReturnResult
     * @author rong yuan
     * @date 2020-2-12 1:38:40
     */
    ReturnResult page(AntiepidemicBuildingVo antiepidemicBuildingVo, int pageNum, int pageSize);

    /**
     * 添加或更新
     *
     * @param antiepidemicBuildingVo 参数接受对象
     * @param sysUser                当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2020-2-12 1:38:40
     */
    ReturnResult addOrUpdate(AntiepidemicBuildingVo antiepidemicBuildingVo, SysUser sysUser);

    /**
     * 根据条件逻辑删除
     *
     * @param antiepidemicBuildingVo 参数接受对象
     * @param sysUser                当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2020-2-12 1:38:40
     */
    ReturnResult remove(AntiepidemicBuildingVo antiepidemicBuildingVo, SysUser sysUser);

    /**
     * 根据条件物理删除
     *
     * @param antiepidemicBuildingVo 参数接受对象
     * @param sysUser                当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2020-2-12 1:38:40
     */
    ReturnResult delete(AntiepidemicBuildingVo antiepidemicBuildingVo, SysUser sysUser);

    ReturnResult importExcel(MultipartFile file, String applyId, String communityId, SysUser acceptCurrentUser);

    ReturnResult acceptSelect(String dictType, String communityId);

    List<AntiepidemicSelectVo> selectAntiepidemicSelectVoList(AntiepidemicBuilding antiepidemicBuildingSearch);
}